//***匿名对象的学习***

//直接调用对象方法
class Demo {
    void show() {
        System.out.println("匿名对象调用方法");
    }
}
class nim {
    public static void main(String[] args) {
        // 直接使用匿名对象调用 show 方法
        new Demo().show();
    }
}


//作为方法参数传递
class Num {
    int value;
    Num(int v) {
        this.value = v;
    }
}
class nim2 {
    static void printValue(Num num) {
        System.out.println("传入的值是: " + num.value);
    }

    public static void main(String[] args) {
        // 使用匿名对象作为参数传递给 printValue 方法
        printValue(new Num(10));
    }
}


//在构造函数中使用
class Container {
    private Cal cal;
    public Container(Cal calc) {
        this.cal = calc;
    }
    public int calculate(int a, int b) {
        return cal.add(a, b);
    }
}
class Cal{
    public int add(int a, int b) {
        return a + b;
    }
}
class mim2 {
    public static void main(String[] args) {
        // 使用匿名对象作为构造函数参数
        Container container = new Container(new Cal());
        int result = container.calculate(2, 4);
        System.out.println("计算结果: " + result);
    }
}
